#pragma once
#include <vector>
#include <memory>
#include "cfcdef.h"
#include "Interface.h"
class CUIBuf;
class CDiv;
namespace cfcgl
{
    using std::vector;
    using std::unique_ptr;
    extern Coord screenSize;
    extern unique_ptr<Interface>itf;
    extern vector<vector<Pixel>>screen;
    extern vector<vector<Pixel>>back;
    extern vector<CUIBuf*>uibufs;
    extern Format DefaultFormat;
    extern Format painter;
    extern vector<vector<CUIBuf*>>pxtop;
    extern bool ScreenUpdatePending;
    extern CDiv* focus;
    extern CDiv* background;
    void UpdatePixel(Coord pos);
    void UpdatePainter(Format& a, const Format& b);
    void UpdateScreenUIBuffer(bool force = false);
    void NextTab();
    void LastTab();
    void init(Coord size, bool EnableVT);
}